# 使用官方 Node.js 镜像作为基础镜像
FROM node:18

# 设置工作目录
WORKDIR /usr/src/app

# 切换到淘宝 NPM 镜像源并安装 pnpm
RUN npm config set registry https://registry.npmmirror.com/ && npm install -g pnpm

# 复制 package.json 和 package-lock.json
COPY package.json pnpm-lock.yaml ./

# 安装项目依赖
RUN pnpm install --frozen-lockfile --prod

# 复制项目文件到镜像中
COPY . .

# 暴露应用监听的端口
EXPOSE 80

# 启动命令
CMD ["node", "server.bundle.js"]